package my.mall.db.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

/**
 * <p>
 * 微信小程序类目
 * </p>
 *
 * @author fengbo
 * @since 2024-04-22
 */
@TableName("mall_goods_category")
class GoodsCategory {

    @TableId(value = "id", type = IdType.AUTO)
    var id: Long? = null

    /**
     * 类目名称
     */
    var categoryName: String? = null

    /**
     * 类目资质ID
     */
    var categoryQualificationId: Long? = null

    /**
     * 类目资质
     */
    var categoryQualification: String? = null

    /**
     * 类目资质类型
     */
    var categoryQualificationType: Int? = null

    /**
     * 商品资质ID
     */
    var productQualificationId: Long? = null

    /**
     * 商品资质
     */
    var productQualification: String? = null

    /**
     * 商品资质类型
     */
    var productQualificationType: Int? = null

    /**
     * 最大资质图片数
     */
    var maxQualificationImg: Int? = null

    /**
     * 类目层级
     */
    var categoryLevel: Int? = null

    /**
     * 类目状态：0-禁用；1-启用
     */
    var categoryStatus: Int? = null

    /**
     * 父类目ID
     */
    var parentId: Long? = null

    /**
     * 99猫一级类目映射的公司站内一级类目
     */
    var innerFirstCategory: Long? = null

    /**
     * 审核单ID
     */
    var auditId: String? = null

    /**
     * 审核结果：0-无需提交审核；1-审核中；2-审核通过；3-审核不通过
     */
    var auditStatus: Int? = null

    /**
     * CPS三级类目ID
     */
    var cpsCategoryId: Long? = null

    companion object {

        const val ID : String = "id"


        const val CATEGORY_NAME : String = "category_name"


        const val CATEGORY_QUALIFICATION_ID : String = "category_qualification_id"


        const val CATEGORY_QUALIFICATION : String = "category_qualification"


        const val CATEGORY_QUALIFICATION_TYPE : String = "category_qualification_type"


        const val PRODUCT_QUALIFICATION_ID : String = "product_qualification_id"


        const val PRODUCT_QUALIFICATION : String = "product_qualification"


        const val PRODUCT_QUALIFICATION_TYPE : String = "product_qualification_type"


        const val MAX_QUALIFICATION_IMG : String = "max_qualification_img"


        const val CATEGORY_LEVEL : String = "category_level"


        const val CATEGORY_STATUS : String = "category_status"


        const val PARENT_ID : String = "parent_id"


        const val INNER_FIRST_CATEGORY : String = "inner_first_category"


        const val AUDIT_ID : String = "audit_id"


        const val AUDIT_STATUS : String = "audit_status"


        const val CPS_CATEGORY_ID : String = "cps_category_id"

    }

    override fun toString(): String {
        return "GoodsCategory{" +
        "id=" + id +
        ", categoryName=" + categoryName +
        ", categoryQualificationId=" + categoryQualificationId +
        ", categoryQualification=" + categoryQualification +
        ", categoryQualificationType=" + categoryQualificationType +
        ", productQualificationId=" + productQualificationId +
        ", productQualification=" + productQualification +
        ", productQualificationType=" + productQualificationType +
        ", maxQualificationImg=" + maxQualificationImg +
        ", categoryLevel=" + categoryLevel +
        ", categoryStatus=" + categoryStatus +
        ", parentId=" + parentId +
        ", innerFirstCategory=" + innerFirstCategory +
        ", auditId=" + auditId +
        ", auditStatus=" + auditStatus +
        ", cpsCategoryId=" + cpsCategoryId +
        "}"
    }
}
